package com.bdqn.controller;

import com.bdqn.pojo.SysUser;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

import java.util.Map;
/**
 * 第一个SpringMVC控制器
 */
@Controller
@RequestMapping(value = "/hello")
public class HelloController {
    Logger logger = Logger.getLogger(HelloController.class);

    @RequestMapping(value = "/hello")
    public ModelAndView hello(@RequestParam String realName) throws Exception {
        logger.info("你好【" + realName + "】欢迎来到SpringMVC的世界");
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("realName", realName);
        modelAndView.setViewName("hello");
        return modelAndView;
    }

    @RequestMapping(value = "/hello2")
    public String hello2(Model model, @RequestParam String realName) throws Exception {
        logger.info("你好【" + realName + "】欢迎来到SpringMVC的世界");
        model.addAttribute("realName", realName);
        model.addAttribute(realName);
        SysUser sysUser=new SysUser();
        sysUser.setRealName(realName);
        model.addAttribute("currentUser",sysUser);
        model.addAttribute(sysUser);
        return "hello";
    }
    @RequestMapping(value = "/hello3")
    public String hello3(Map<String, Object> map,@RequestParam String realName) throws Exception{
        logger.info("你好【" + realName + "】欢迎来到SpringMVC的世界");
        map.put("realName",realName);
        return "hello";
    }


//    @RequestMapping(value = "/hello")
//    public String hello(@RequestParam(value = "realName",required = false) String realName) throws Exception{
//        logger.info("你好"+realName+"欢迎来到SpringMVC的世界");
//        return "hello";
//    }


//    @RequestMapping(value = "/hello2")
//    public String hello2(@RequestParam(value = "userName",required = false) String realName) throws Exception{
//        logger.info("你好"+realName+"欢迎来到SpringMVC的世界");
//        return "hello";
//    }

//    /**
//     * 重写父类方法
//      */
//    @RequestMapping(value = "/hello")
//    public String hello() throws Exception{
//       logger.info("我的第一个SpringMVC程序，运行成功了");
//        return "hello";
//    }
//    /**
//     * 重写父类方法
//     */
//    @RequestMapping(value = "/hello2")
//    public String hello2() throws Exception{
//        logger.info("hello控制器下的另一个接口");
//        return "hello";
//    }
}
